#ifndef __T_GAME_DATA_VISITER_INTERFACE
#define __T_GAME_DATA_VISITER_INTERFACE

#include "Entry/LibExport.h"
#include "DataIf.h"
#include "DataExIf.h"

//
//	Data Visitor Interface
//	Which is use to iterate all data in unit manager.
//	note that this is not a implementation of visitor design pattern
//	this is just another implementation of iterator for container
//
class TDATA_API IDataVisitor
{
public:
	virtual ~IDataVisitor(){;}

	//
	//	visit data
	virtual bool visit(IData& d) = 0;

	//
	//	visit data ex
	virtual bool visit(IDataEx& d) = 0;
};

#endif
